Page({
  data: {
    testList: [],
    page: 1, // 当前页
    size: 10, // 每页条数
    hasMore: true,
    loading: false
  },
  toTestDetail(e) {
    // 从事件对象中获取绑定的 id（对应 WXML 中的 data-id="{{item.id}}"）
    const testId = e.currentTarget.dataset.id; 
    // 检查是否获取到有效 id
    if (!testId) {
      console.error('未获取到 testId');
      return;
    }
    // 跳转到详情页，携带 testId 参数
    wx.navigateTo({
      url: `/my/testDetail/testDetail?testId=${testId}`
    });
  },

  onLoad() {
    this.getTestList();
  },

  getTestList() {
    const { page, size, loading, hasMore } = this.data;
    if (loading || !hasMore) return;

    this.setData({ loading: true });

    // 补充分页参数（关键！）
    const url = `http://localhost:8080/psyknoTest/pages?page=${page}&size=${size}`;
    console.log('请求接口：', url);

    wx.request({
      url: url,
      method: 'GET',
      success: (res) => {
        console.log('后端返回：', res.data);
        if (res.data?.code === 200) {
          // 解析数据（根据后端实际结构调整）
          const newList = res.data.data?.list || [];
          const total = res.data.data?.total || 0;

          // 处理字段映射（若后端是下划线，前端可临时转换为驼峰，可选）
          // const formatList = newList.map(item => ({
          //   id: item.id,
          //   testName: item.test_name, // 下划线转驼峰
          //   testDes: item.test_des,
          //   testImage: item.test_pic // 若有图片字段
          // }));

          const testList = this.data.page === 1 ? newList : [...this.data.testList, ...newList];
          this.setData({
            testList,
            hasMore: testList.length < total,
            loading: false
          });

          console.log('前端testList长度：', this.data.testList.length); // 确认是否>0
        } else {
          this.setData({ loading: false });
          wx.showToast({ title: `接口错误：${res.data?.message}`, icon: 'none' });
        }
      },
      fail: (err) => {
        console.error('请求失败：', err);
        this.setData({ loading: false });
        wx.showToast({ title: '网络错误，无法连接接口', icon: 'none' });
      }
    });
  },

  onPullDownRefresh() {
    this.setData({ page: 1, hasMore: true }, () => {
      this.getTestList();
      // 修复回调问题：getTestList无回调，直接延迟停止刷新
      setTimeout(() => wx.stopPullDownRefresh(), 1000);
    });
  },

  onReachBottom() {
    this.setData({ page: this.data.page + 1 }, () => {
      this.getTestList();
    });
  }
});